/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package recanto.das.pedrinhas.controller;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import recanto.das.pedrinhas.bean.Cliente;
import recanto.das.pedrinhas.bean.Observacao;
import recanto.das.pedrinhas.dao.ObservacaoDao;

/**
 *
 * @author Guilherme
 */
public class ObservacaoController {
    private Observacao observacao;
    private ObservacaoDao observacaoDao;
    
    
    public ObservacaoController(){
        observacao = new Observacao();
        observacaoDao = new ObservacaoDao();
        
    }
    
    public void adicionar(Date dataEntrada, Date dataSaida, Cliente cliente, Cliente titular){
        observacao.setDataEntrada(dataEntrada);
        observacao.setDataSaida(dataSaida);
        observacao.setIdCli(cliente);
        observacao.setDescricao(null);
        observacao.setTitularId(titular);
        observacaoDao.salvar(observacao);
    }
    
    public ArrayList<Observacao> listaPorData(){
        ArrayList<Observacao> lista = new ArrayList<Observacao>();
        List<Observacao> todos = observacaoDao.listaTudo();
        Date data = new Date();
        for (int i = 0; i < todos.size(); i++) {
            if (data.getTime() <= todos.get(i).getDataSaida().getTime()) {
                lista.add(todos.get(i));
            }
        }
        return lista;
    }
    
    public ArrayList<Observacao> listaObservacaoPorTitularId(Cliente c){
        ArrayList<Observacao> lista = (ArrayList<Observacao>) observacaoDao.listaObservaçãoPorTirulares(c);
        return lista;
    }
    
    public ArrayList<Observacao> listaObservacaoPorClienteId(Cliente c){
        ArrayList<Observacao> lista = (ArrayList<Observacao>) observacaoDao.listaObservaçãoPorClienteId(c);
        return lista;
    }
    
    public void atualiza(Observacao o){
        observacaoDao.alterar(o);
    }
    
     public void fecharSession(){
        observacaoDao.fechaSession();
    }
}